#include <iostream>

/*
    继承的特点：
        1、父类中所有的非静态成员，都可以继承给子类（除了构造函数和析构函数）
        2、一个类可以被多个类同时继承
        3、在Cpp中，一个类可以继承自多个类
        4、一个类在继承了父类的同时，也可以被他的子类继承
        5、继承包括私有的成员
 */

class Animal
{
public:
    int age{};
    void walk()
    {
        std::cout << "Animal Walk" << std::endl;
    }

private:
    int p1{};
    int p2{};
};

// 继承的语法： class [子类] : [继承方式] 父类
class Dog : public Animal
{

};

int main()
{

    Animal animal{};
    Dog dog{};
    std::cout << dog.age << std::endl;
    dog.walk();
    std::cout << sizeof dog << std::endl; // dog 继承自 animal
    std::cout << sizeof animal << std::endl; // dog 和 animal 大小都是12
    return 0;
}